Self-centering user interface for inputting information

ABSTRACT

Techniques described herein are directed to, among other things, utilizing a self-centering user interface to receive information associated with a transaction. For instance, a computing device may receive a first input at a first location of a display. The computing device may then determine a positioning for the user interface, where the user interface may be substantially centered about the first location. In some instances, the computing device may display the user interface using the positioning. The computing device may then receive a second input corresponding to swipe from the first location of the display to a second location of the display. The computing device may then determine a symbol included in the user interface based at least in part on the second input. In some instances, the user interface includes a keypad for entering a personal identification number associated with a payment instrument.

BACKGROUND

In today's commerce, customers use payment instruments, such as debitcards and credit cards, to conduct transactions with merchants. Forinstance, during a transaction, a point-of-sale (POS) device of amerchant may receive payment information (e.g., a card number, anexpiration date, etc.) associated with a payment instrument. Thecustomer may then use the POS device to input a personal identificationnumber (PIN) associated with the payment instrument. In some instances,the POS device may include a touchscreen display that the customer usesto input the PIN. However, this may be problematic if the customer isvisually impaired, such as if the customer is blind or nearly blind.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other features of the present disclosure, its nature andvarious advantages, will be more apparent upon consideration of thefollowing detailed description, taken in conjunction with theaccompanying drawings in which:

FIG. 1 illustrates an example process of using a self-centering userinterface for inputting information into a computing device.

FIG. 2 illustrates an example environment in which the self-centeringuser interface may be used during a transaction.

FIG. 3 illustrates an example of merchant device(s) being coupled to acustomer's device during a transaction.

FIG. 4 illustrates an example of using a self-centering user interfaceto input a personal identification number associated with a paymentinstrument.

FIGS. 5A-5D illustrate examples of a computing device using inputs todetermine positions for a self-centering user interface.

FIG. 6 illustrates an example process of using a self-centering keypadto input a personal identification number associated with a paymentinstrument.

FIG. 7 illustrates an example process of using a self-centering userinterface to input information.

FIG. 8 illustrates an example process of determining a number of inputimplements corresponding to an input, and then using the determinationto determine that an additional input includes a symbol or an action.

FIG. 9 illustrates a block diagram of select components of a customerdevice that may be configured to act as a POS device.

FIG. 10 illustrates a block diagram of select components ofpayment-processing service server(s).

In the figures, the left-most digit(s) of a reference number identifiesthe figure in which the reference number first appears. The use of thesame reference numbers in different figures indicates similar oridentical items or features. Moreover, multiple instances of the samepart are designated by a common prefix separated from the instancenumber by a dash. The drawings are not to scale.

DETAILED DESCRIPTION

As described above, customers use payment instruments (e.g., debitcards, credit cards, gift cards, etc.) to conduct transactions withmerchants. For instance, during a transaction, merchant device(s) of amerchant may receive payment information (e.g., card number, expirationdate, etc.) associated with a payment instrument. The customer may thenuse the merchant device(s) to input a personal identification number(PIN) associated with the payment instrument. A payment-processingservice that facilitates transactions between merchants and customersmay then receive information about the transaction from the merchantdevice(s), such as identifier(s) of item(s) being purchased by thecustomer, cost(s) of the item(s), a total cost of the transaction, thepayment information, and/or the PIN. Using the information, thepayment-processing service may authorize the payment instrument for thecost of the transaction.

In some instances, the merchant device(s) may include a touchscreendisplay that the customer uses to input the PIN. For instance, and usingthe touchscreen display, the merchant device(s) may display a keypadthat the customer uses to input the PIN by selecting one or more numbersthat are included in the PIN. To select a number, the customer mayprovide input using an input implement, such as a finger, a pen, and/orthe like. However, this may be problematic if the customer is visuallyimpaired, such as if the customer is blind or nearly blind. Forinstance, the customer may have trouble identifying location(s) of theone or more numbers included within the keypad.

As such, the application describes, among other things, a self-centeringuser interface (which may be referred to as a “user interface”) thatcustomers may utilize to input information associated with transactions,such as PINs. In some instances, the user interface may include a keypadthat is configured in a given shape, such as a circle, a square, apentagon, a hexagon, an octagon, and/or the like. For instance, the userinterface may include a keypad with the numbers one through nine, wherethe number five is located in the center of the keypad and the numbersone through four and six through nine are located around the number fivein the given shape. Additionally, or alternatively, in some instances,the user interface may include other types of symbols, such as letters,characters, punctuation marks, representations of items, and/or thelike. For instance, if the merchant provides food items for customers,the symbols may include graphical elements that represent food itemsthat are provided by the merchant.

In some instances, the user interface is self-centering. For instance,the merchant device(s) may receive, from the customer, a first input ata first location of the touchscreen display. The merchant device(s) maythen determine a positioning for the user interface such that the userinterface is substantially centered around the first location. Forinstance, if the user interface includes the keypad, the merchantdevice(s) may center the keypad such that the number five is located atthe first location. In some instances, the merchant device(s) may thenuse the positioning to display the user interface using the touchscreendisplay. For instance, the user interface may be displayed such that theuser interface is substantially centered around the first location.

The merchant device(s) may then determine a symbol selected by thecustomer based on a second input received via the touchscreen display.For a first example, the second input may correspond to a “swipe” fromthe first location of the touchscreen display to a second location ofthe touchscreen display. The merchant device(s) may then determine thesymbol based on the direction of the swipe and/or the second location.For instance, the merchant device(s) may determine that the secondlocation of the touchscreen display corresponds to a particular symbolincluded in the user interface. As such, the merchant device(s) maydetermine that the customer selected the particular symbol.Additionally, or alternatively, the merchant device(s) may determinethat the direction of the swipe is towards a particular symbol. As such,the merchant device(s) may determine that the customer selected theparticular symbol.

For a second example, and since the user interface is centered about thefirst location on the touchscreen display, where a symbol of the userinterface is substantially located at the first location, the secondinput may include a “release” of the first input. For instance, if thefirst input corresponding to the customer's finger being placed on thefirst location of the touchscreen display, the second input may includethe customer's finger being removed from the touchscreen display. Insuch an example, the merchant device(s) may determine that theparticular symbol includes the symbol that was substantially located atthe first location.

For a third example, the first input may include a multi-press inputwhere two or more input implements (e.g., two or more of the customer'sfingers) are placed at the first location of the touchscreen display.The second input may then include the two or more input implements beingremoved from the touchscreen display. In such an example, the merchantdevice(s) may determine that the particular symbol includes a symbolthat is not included within the user interface. For instance, if theuser interface includes a keypad with the numbers one through nine, thenthe particular symbol may include the number zero.

In some examples, the user interface may allow the customer to inputadditional types of inputs. For instance, the merchant device(s) mayreceive a first input corresponding to the customer placing two inputimplements at a first location of the touchscreen display. The merchantdevice(s) may then receive a second input corresponding to the customerswiping the input implements from the first location of the touchscreendisplay to a second location of the touchscreen display. The merchantdevice(s) may then determine an action based on a direction of theswipe. For instance, if the direction of the swipe includes a firstdirection, such as towards a left side of the touchscreen display, themerchant device(s) may clear information previously input by thecustomer. However, if the direction of the swipe includes a seconddirection, such as towards a right side of the touchscreen display, themerchant device(s) may determine that the information is complete.

For an example of using the user interface during a transaction, amerchant may utilize the merchant device(s) to input informationassociated with a transaction with a customer. For instance, themerchant may input identifier(s) of item(s) being purchased by thecustomer, cost(s) of the item(s), a total cost of the transaction,and/or the like. The merchant and/or the customer may then use themerchant device(s) to input payment information associated with apayment instrument. In some instances, the merchant device(s) mayinclude a reader (e.g., a near-field-communication reader, a chipreader, etc.) that receives the payment information from the paymentinstrument and/or a customer device. In some instances, the merchantdevice(s) may then display, using the touchscreen display, a firstkeypad for inputting the PIN associated with the payment instrument. Thefirst keypad may be substantially centered within the touchscreendisplay.

The merchant device(s) may then determine to operate in an accessibilitymode, where the merchant device(s) use a second keypad (e.g., an exampleof the self-centering user interface described above) for receiving thePIN while operating in the accessibility mode. In some instances, themerchant device(s) determine to operate in the accessibility mode basedon receiving input from the merchant and/or the customer. In someinstances, the merchant device(s) determine to operate in theaccessibility mode based on data (e.g., the payment information)received from the payment instrument and/or the customer device. Forinstance, the data may indicate that the merchant device(s) shouldoperate in the accessibility mode during the transaction. In someinstances, based on the determination, the merchant device(s) may ceasefrom displaying the first keypad.

The merchant device(s) may then receive a first input at a firstlocation of the touchscreen display. Based on the first input, themerchant device(s) may determine a positioning for the second keypad.For instance, the merchant device(s) may determine that the secondkeypad is substantially centered at the first location of thetouchscreen display (e.g., the number five is substantially located atthe first location of the touchscreen display). In some instances, whendetermining the positioning, the merchant device(s) determine an anchorpoint for the second keypad. The anchor point may indicate that thefirst location of the touchscreen display corresponds to the center ofthe second keypad (e.g., the anchor point may indicate that the firstlocation of the touchscreen display corresponds to the number five). Insome instances, the merchant device(s) then display the second keypad onthe touchscreen display. For instance, the merchant device(s) maydisplay the second keypad such that the second keypad is substantiallycentered at the first location of the touchscreen display.

The merchant device(s) may then receive a second input via thetouchscreen display. In some instances, the second input may correspondto a “swipe” from the first location of the touchscreen display to asecond location of the touchscreen display. In some instances, thesecond input may correspond to an input at the second location of thetouchscreen display (e.g., the customer removes the input implementsfrom the first location of the touchscreen display and then places theinput implement at the second location of the touchscreen display).Still, in some instances, the second input may correspond to a removalof the input implement from the touchscreen display. For instance, ifthe first input included the customer's finger being placed at the firstlocation, then the second input may include the customer's finger beingremoved from the touchscreen display. In such instance, the secondlocation may correspond to a same location on the touchscreen display asthe first location of the touchscreen display.

The merchant device(s) may then determine a number included in thesecond keypad based on the second input and/or the positioning (e.g.,the anchor point) of the second keypad. For a first example, if thesecond location corresponds to a particular number of the second keypad,then the merchant device(s) may determine that the customer selected theparticular number. For a second example, if the second input includes a“swipe” across the touchscreen display at a given direction, then themerchant device(s) may determine that a particular number is located atthe given direction in the second keypad. The merchant device(s) maythen determine that the customer selected the particular number. Still,for a third example, if the second input includes a removal of the firstinput, then the merchant device(s) may determine that the customerselected the particular number at the center of the second keypad (e.g.,the number five).

In some examples, the merchant device(s) may perform similar processesusing the second keypad in order to receive one or more additionalnumbers for the PIN. The merchant device(s) may then determine that thecustomer is finished inputting the PIN. In some instances, the merchantdevice(s) make the determination based on the customer entering eachnumber for the PIN. For instance, if the PIN includes four numbers, themerchant device(s) may determine that the customer is finished inputtingthe PIN after the customer enters the fourth number. In some instances,the merchant device(s) make the determination based on the customerindicating that the PIN is complete. For instance, the merchantdevice(s) may receive a first input at the touchscreen display, wherethe first input corresponds to the customer placing two or more inputimplements at a first location of the touchscreen display. The merchantdevice(s) may then receive a second input at the touchscreen display,where the second input corresponds to a swipe of the input implementsfrom the first location of the touchscreen display to a second locationof the touchscreen display. Based on the second input, the merchantdevice(s) may determine that the customer is finished inputting the PIN.

In either instance, the merchant device(s) may send informationassociated with the transaction to the payment-processing service. Theinformation may include, but is not limited to, a cost of thetransaction, the payment information, and the PIN. Using theinformation, the payment-processing service may authorize the paymentinstrument for the cost of the transaction. Additionally, thepayment-processing service may send, to the merchant device(s), dataindicating whether the payment instrument was authorized for the cost ofthe transaction.

In some instances, the merchant device(s) may use at least one speaker(e.g., loudspeaker(s), headphone(s), etc.) to output audio representinginstructions for using the user interface. For instance, while operatingin the accessibility mode, the merchant device(s) may output, using theat least one speaker, first audio representing a first instruction toplace a single input implement on the touchscreen display if thecustomer wants to select a first set of symbols (e.g., the numbers oneto nine), two or more input implements on the touchscreen display if thecustomer wants to select a second set of symbols (e.g., the numberzero), and two or more input implements on the touchscreen display ifthe customer wants to perform other actions (e.g., cancel information,indicate the information is complete, etc.). If the customer places asingle input implement on the touchscreen display, the merchantdevice(s) may then output, using the at least one speaker, additionalaudio representing a second instruction on how to select a symbol.

For example, the second instruction may indicate that the customer isswipe the input implement in an upper-left direction to select a firstsymbol (e.g., the number one), swipe the input implement in an upperdirection to select a second symbol (e.g., the number two), swipe theinput implement in an upper-right direction to select a third symbol(e.g., the number three), swipe the input implement in a left directionto select a fourth symbol (e.g., the number four), raise the inputimplement off of the touchscreen display to select a fifth symbol (e.g.,the number five), swipe the input implement in a right direction toselect a sixth symbol (e.g., the number six), swipe the input implementin a downward-left direction to select a seventh symbol (e.g., thenumber seven), swipe the input implement in a downward direction toselect an eighth symbol (e.g., the number eight), and/or swipe the inputimplement in a downward-right direction to select a ninth symbol (e.g.,the number nine).

Additionally, if the customer places two or more input implements on thetouchscreen display, the merchant device(s) may also output, using theat least one speaker, additional audio data representing a secondinstruction. For example, the second instruction may indicate that thecustomer is to raise the input implements off of the touchscreen displayto select a symbol (e.g., the number zero), swipe the input implementsin a left direction to perform a first action (e.g., delete informationinput into the merchant device(s)), swipe the input implements in theright direction to perform a second action (e.g., indicate that theinformation is complete), and/or so forth.. Although these are just afew of examples of instructions that may be provided by the merchantdevice(s), in other examples, the merchant device(s) may providedifferent and/or additional instructions.

In some examples, the merchant device(s) may include a merchant-facingcomputing device and a customer-facing computing device. Themerchant-facing computing device may be used (e.g., by a merchant or anemployee or other agent working for the merchant) to perform merchantfunctionalities. “Merchant functionality,” as described herein, can beassociated with functionalities that are availed via a merchantapplication that can be executable by the merchant-facing computingdevice (and/or in some examples, via the customer-facing computingdevice). For instance, merchant functionality can enable a device tofacilitate transactions between a merchant and a customer. In at leastone example, the merchant functionality can enable a device to obtainpayment information (e.g., from a customer-facing computing device) tosettle a transaction and/or send payment information to thepayment-processing service for payment processing. In at least oneexample, the merchant functionality can be associated with a dashboardto enable an operator of a device to manage transactions, payments, andso forth, via the dashboard. In at least one example, such merchantfunctionalities can be presented via merchant user interfaces thatenable merchants, for example, to interact with merchant-facingcomputing devices to perform the merchant functionalities.

The customer-facing computing device can be used (e.g., by a customer)to perform customer functionalities. “Customer functionality,” asdescribed herein, can be associated with functionalities that areavailed via a customer application executable by the customer-facingcomputing device (and/or in some examples, the merchant-facing computingdevice). For instance, customer functionality can enable a device toobtain payment information, and related information, and send thepayment information, and related information, to the merchant-facingcomputing device. Additionally, the customer functionality can enable adevice to present information to a customer via a user interface(s). Forinstance, the customer functionality can enable a device to present,among other things, contents of a ticket (e.g., a cart, etc.), such asone or more items associated with a ticket, an amount of the ticket, auser interface for inputting PINS, and additional information (e.g.,taxes, discounts (e.g., item-level or ticket-level), coupons, etc.) viaa user interface(s).

Although the above examples describe using merchant device(s) to inputinformation associated with a transaction, in other examples, thecustomer may use a customer device to input at least a portion of theinformation. For instance, the customer may input identifier(s) ofitem(s) being purchased by the customer, cost(s) of the item(s), and atotal cost of the transaction into the customer device. Additionally,the customer may input the payment information associated with thepayment instrument and the PIN associated with the payment instrument.When inputting the information, the customer device may operatesimilarly to the merchant device(s) described herein. For instance, thecustomer device may utilize the accessible mode for inputting the PIN.Additionally, after inputting the information, the customer device maysend the information to the merchant device(s) and/or thepayment-processing service for authorizing the payment instrument.

Additionally, although the above examples describe techniques forinputting symbol(s) using the user interface, in other examples, userinterface(s) may allow symbol(s) to be input using other types oftechniques. For a first example, and while the merchant device(s) areoperating in the accessibility mode, a user interface may allow thecustomer to input symbol(s) by “drawing” the symbol(s) on thetouchscreen display. For instance, if the customer is inputting the PINusing the user interface, the customer may draw each number included inthe PIN on the touchscreen display. For a second example, and while themerchant device(s) are operating in the accessibility mode, a userinterface may allow the customer to input symbol(s) by “tapping” on thetouchscreen display. For instance, and again if the customer isinputting the PIN, the customer may tap once on the touchscreen displayfor the number one, tap twice on the touchscreen display for the numbertwo, tap three times on the touchscreen display for the number three,and/or so forth.

As described herein, in some examples, a user interface may besubstantially centered around a specific location of a touchscreendisplay when a symbol located within a center of the user interface islocated closer to the specific location than other symbols included inthe user interface. For instance, and if the user interface includes akeypad, the keypad may be substantially centered around a specificlocation of the touchscreen display when the number located in thecenter of the keypad (e.g., the number five) is located closer to thespecific location than other numbers included in the user interface.Additionally, or alternatively, in some examples, a user interface maybe substantially centered around a specific location of a touchscreendisplay when a point located at a center of the user interface islocated closer the specific location than the points located at the edgeof the user interface. In some instances, the point located at thecenter of the user interface may include an “anchor point” of the userinterface. In some instances, the point of the user interface that islocated at the specific location may include the “anchor point” of theuser interface.

FIG. 1 illustrates an example process 100 of using a self-centering userinterface for inputting information into a computing device (e.g.,merchant device(s), a customer device, etc.). At operation 102, thecomputing device may receive a first input at a first location 104 of adisplay 106. For instance, the display may include a touchscreen displaythat is able receive input(s) from a customer. As shown, the first inputmay include the customer's finger 108 being placed at the first location104 of the display 106. However, in other instances, the first input mayinclude a different input implement (e.g., a pen, a pointer, etc.) beingplaced at the first location 104 of the display 106.

At operation 110, the computing device may determine a position of auser interface 112 based at least in part on the first location 104. Forinstance, the computing device may determine the position of the userinterface 112 such that the user interface 112 is substantially centeredat the first location 104. In the example of FIG. 1 , the user interface112 includes a circular keypad with the numbers one through nine, wherethe circular keypad is substantially centered at the first location 104.For instance, the number five, which included in the middle of thecircular keypad, is substantially located on the first location 104.However, in other examples, the keypad may include any other shape, suchas a square, a pentagon, a hexagon, an octagon, and/or the like.Additionally, in other examples, the user interface 112 may includesymbols other than numbers.

In some instances, the computing device may display the user interface112 at the position on the display 106. When displaying the userinterface 112, the computing device may display one or more of thedashed lines illustrated in the example of FIG. 1 and/or the computingdevice may not display one or more of the dashed lines illustrated inthe example of FIG. 1 . In other instances, the computing device may notdisplay the user interface 112. Rather, the computing device maydetermine that an anchor point for the user interface 112 includes thefirst location 104.

At operation 114, the computing device may receive a second inputindicating a second location 116 of the display 106. In some instances,the second input may include the customer swiping the finger 108 fromthe first location 104 of the display 106 to the second location 116 ofthe display 106, which may be represented by the arrow. In otherinstances, the second input may include the customer removing the finger108 from the display 106 and then placing the finger 108 back on thedisplay 106 at the second location 116.

At operation 118, the computing device may determine a symbol 120included in the user interface 112 based at least in part on the secondinput. In some instance, the computing device may determine the symbol120 based on determining that the second location 116 of the display 106corresponds to the symbol 120. For instance, and as illustrated in theexample of FIG. 1 , the second location 116 is substantially locatedover a portion of the user interface 112 that includes the symbol 120.In some instances, the computing device may determine the symbol 120based on the direction of the swipe. For instance, since the symbol 120is located in a downward direction from the first location 104, thecomputing device may determine the symbol 120 based on the swipe beingin the downward direction.

In some instances, the computing device may repeat operations 102, 110,114, and 118 in order to determine one or more additional symbols. Forinstance, if the customer is inputting a PIN into the computing device,the computing device may repeat operations 102, 110, 114, and 118 inorder to determine additional symbols included in the PIN. However, whenthe customer is finished inputting the information into the computingdevice, then the example process may move to operation 122.

At operation 122, the computing device may receive a third inputindicating that information is complete. For instance, the customer maydetermine that all of the information has been input into the computingdevice. As such, the computing device may receive the third input. Inthe example of FIG. 1 , the third input may include the customer placingboth the finger 108 and an additional finger 124 at a location 126 ofthe display 106. The customer may then swipe the finger 108 and theadditional finger 124 in a direction on the display, which isrepresented by arrow 128. However, in other examples, the third inputmay include the customer swiping the finger 108 and the additionalfinger 124 in a different direction on the display 106.

In some instances, based on determining that the information iscomplete, the computing device may send the information to merchantdevice(s) and/or the payment-processing service. For instance, if theinformation includes a PIN associated with a payment instrument, thecomputing device may send the PIN to the merchant device(s) and/or thepayment-processing service.

FIG. 2 illustrates an example environment 200 in which theself-centering user interface may be used during a transaction. In atleast one example, the example environment can include at least onemerchant-facing computing device 202 and at least one customer-facingcomputing device 204.

The merchant-facing computing device 202 can be any suitable type ofcomputing device, e.g., portable, semi-portable, semi-stationary, orstationary. Some examples of the merchant-facing computing device 202can include tablet computing devices; smart phones and mobilecommunication devices; laptops, netbooks and other portable computers orsemi-portable computers; desktop computing devices, terminal computingdevices and other semi-stationary or stationary computing devices;dedicated register devices; wearable computing devices, or otherbody-mounted computing devices; augmented reality devices; or othercomputing devices capable of sending communications and performing thefunctions according to the techniques described herein.

As show, the merchant-facing computing device 202 may includeprocessor(s) 206, computer-readable media 208, communicationinterface(s) 210, input/output device(s) 212, a display 214, andsensor(s) 216. Each processor 206 can itself comprise one or moreprocessors or processing cores. For example, the processor 206 can beimplemented as one or more microprocessors, microcomputers,microcontrollers, digital signal processors, central processing units,state machines, logic circuitries, and/or any devices that manipulatesignals based on operational instructions. In some cases, the processor206 can be one or more hardware processors and/or logic circuits of anysuitable type specifically programmed or configured to execute thealgorithms and processes described herein. The processor 206 can beconfigured to fetch and execute computer-readable processor executableinstructions stored in the computer-readable media 208.

Depending on the configuration of the merchant-facing computing device202, the computer-readable media 208 can be an example of tangiblenon-transitory computer storage media and can include volatile andnonvolatile memory and/or removable and non removable media implementedin any type of technology for storage of information such ascomputer-readable processor executable instructions, data structures,program modules or other data. The computer-readable media 208 caninclude, but is not limited to, RAM, ROM, EEPROM, flash memory, solidstate storage, magnetic disk storage, optical storage, and/or othercomputer-readable media technology. Further, in some cases, themerchant-facing computing device 208 can access external storage, suchas RAID storage systems, storage arrays, network attached storage,storage area networks, cloud storage, or any other medium that can beused to store information and that can be accessed by the processor 206directly or through another computing device or network. Accordingly,the computer-readable media 208 can be computer storage media able tostore instructions, modules or components that can be executed by theprocessor 206. Further, when mentioned, non-transitory computer-readablemedia exclude media such as energy, carrier signals, electromagneticwaves, and signals per se.

The computer-readable media 208 can be used to store and maintain anynumber of functional components that are executable by the processor206. In some examples, these functional components comprise instructionsor programs that are executable by the processor 206 and that, whenexecuted, implement operational logic for performing the actions andservices attributed above to the merchant-facing computing device 202.Functional components of the merchant-facing computing device 202 storedin the computer-readable media 208 can include a merchant application218. The merchant application 218 may configure the merchant-facingcomputing device 202 as a POS terminal capable of performing merchantfunctionality, in some examples via one or more interactions with thecustomer-facing computing device 204. For instance, the merchantapplication 218 can enable a merchant to participate in transactionswith one or more customers. That is, the merchant application 218 canconfigure the merchant-facing computing device 202 to handle thecustomer-facing computing device 204. In some examples, the merchantapplication 218 can determine whether the customer-facing computingdevice 204 is coupled to and/or connected to the merchant-facingcomputing device 202, and can provide an indication of such via a userinterface. In at least one example, the merchant application 218 canindicate that a customer-facing computing device 204 is not coupled toand/or connected to the merchant-facing computing device 202.

In at least one example, the merchant application 218 can configure themerchant-facing computing device 202 to participate in transactions viaone or more interactions with the customer-facing computing device 204(or a customer application, or other provisioned customer functionality,executable by the merchant-facing computing device 202 and/or anotherdevice). For instance, in some examples, the customer-facing computingdevice 204 can obtain payment information 220 via contact (e.g., swipe,dip, etc.) and/or contactless (e.g., tap) interactions, as describedherein, and can transmit the payment information 220 to the merchantapplication 218 for further processing. In some examples, thecustomer-facing computing device 204 can obtain payment information 220via any other form of a payment instrument (e.g., unique identifier,biometric identifier, etc.). The merchant application 218 can configurethe merchant-facing computing device 202 to interact with thecustomer-facing computing device 204 to obtain the payment information220. For instance, the merchant application 218 can cause a selectablegraphical element to be presented that triggers a payment request (e.g.,generation of instructions for the presentation of a user interfacepresenting such a request) to be output via a customer-facing computingdevice 204 coupled to the merchant-facing computing device 202.Furthermore, the merchant application 218 can configure themerchant-facing computing device 202 to transmit received paymentinformation 220 to server(s) associated with the payment-processingservice (e.g., payment-processing service server(s) 222) to process thetransactions. In at least one example, the merchant application 218 cantrack a status of a payment flow between the merchant-facing computingdevice 202 and a customer-facing computing device 204 coupled to themerchant-facing computing device 202, and can output an indication ofthe status via a user interface (e.g., via a status bar).

Additionally, the merchant application 218 can enable a merchant torecord cash, gift cards, and other forms of tender. Furthermore, in atleast one example, the merchant application 218 can enable themerchant-facing computing device 202 to perform card-not-present (CNP)transactions. For instance, in such an example, the merchant application218 can cause a user interface to be presented that enables a merchant,employee, or other agent working on behalf of the merchant to inputpayment information 220 via the user interface. A merchant can utilize aCNP transaction if the payment reader 252 is not working or a paymentinstrument is not being read, for example. Additionally oralternatively, a merchant can utilize a CNP transaction if it is takingan order over the phone, for example.

In at least one example, the merchant application 218 can be associatedwith a user interface that enables merchants to, among other things,perform one or more of the functionalities described above with respectto the merchant device(s). In at least one example, the user interfacecan be presented via a webview or web browser that is configured toenable a merchant to access services supported by the payment-processingservice. In other examples, the user interface can be presented via anapplication (e.g., the merchant application 218), which can be a mobileapplication or a desktop application, which is provided by the paymentprocessing-service service or is an otherwise dedicated application. Insome examples, the user interface can support third-party content, whichcan be linked or otherwise accessible to the merchant. In at least oneexample, the user interface can be a GUI which can present graphicalelements via the user interface to convey information to merchantsand/or customers and/or otherwise enable the merchant to performmerchant operations.

In addition, the computer-readable media 208 can also store data, datastructures and the like, that are used by the functional components. Forexample, data stored by the computer-readable media 208 can includedevice identifier information 224, which can indicate whichcustomer-facing computing device(s) and/or merchant-facing computingdevice(s) are coupled to the merchant-facing computing device 202. Thedata stored by the computer-readable media 208 can further includesettings information 226 and profile information 228. The settingsinformation 226 can store settings information associated with thesettings of the merchant-facing computing device 202. For instance, thesettings information 226 can store information such as languagesavailable on the merchant-facing computing device 202, a languageselection for the merchant-facing computing device 202 (e.g., inputlanguage, keyboard language, spoken language, etc.), symbolistics (e.g.,high contrast) associated with the merchant-facing computing device 202,volume control, brightness control, network priorities (e.g., back-upnetworks), date, time, time zone, passwords, account information, etc.The profile information 228 can store one or more profiles associatedwith the merchant and/or customer(s) of the merchant, as describedabove.

In addition, the computer-readable media 208 can store user interfacedata 230 representing self-centering user interface(s) that can be usedto input payment information 220 associated with a transaction.Furthermore, the computer-readable media 208 can store additionalfunctional components such as an operating system 232 for controllingand managing various functions of the customer-facing computing device204 and for enabling basic user interactions with the customer-facingcomputing device 204. Moreover, in at least one example, thecomputer-readable media 238 can store other modules and data 234.

The customer-facing computing device 204 can be any suitable type ofcomputing device, e.g., portable, semi portable, semi-stationary, orstationary. Some examples of the customer-facing computing device 204can include tablet computing devices; smart phones and mobilecommunication devices; laptops, netbooks and other portable computers orsemi-portable computers; desktop computing devices, terminal computingdevices and other semi-stationary or stationary computing devices;dedicated register devices; wearable computing devices, or otherbody-mounted computing devices; augmented reality devices; or othercomputing devices capable of sending communications and performing thefunctions according to the techniques described herein.

In the illustrated example, the customer-facing computing device 204includes at least processor(s) 236, computer-readable media 238,communication interface(s) 240, input/output (I/O) device(s) 242, adisplay 244, sensor(s) 246, and a payment component 248. Each processor236 can itself comprise one or more processors or processing cores. Forexample, the processor 236 can be implemented as one or moremicroprocessors, microcomputers, microcontrollers, digital signalprocessors, central processing units, state machines, logic circuitries,and/or any devices that manipulate signals based on operationalinstructions. In some cases, the processor 236 can be one or morehardware processors and/or logic circuits of any suitable typespecifically programmed or configured to execute the algorithms andprocesses described herein. The processor 236 can be configured to fetchand execute computer-readable processor executable instructions storedin the computer-readable media 238.

Depending on the configuration of the customer-facing computing device204, the computer-readable media 238 can be an example of tangiblenon-transitory computer storage media and can include volatile andnonvolatile memory and/or removable and non removable media implementedin any type of technology for storage of information such ascomputer-readable processor executable instructions, data structures,program modules or other data. The computer-readable media 238 caninclude, but is not limited to, RAM, ROM, EEPROM, flash memory, solidstate storage, magnetic disk storage, optical storage, and/or othercomputer-readable media technology. Further, in some cases, thecustomer-facing computing device 204 can access external storage, suchas RAID storage systems, storage arrays, network attached storage,storage area networks, cloud storage, or any other medium that can beused to store information and that can be accessed by the processor 236directly or through another computing device or network. Accordingly,the computer-readable media 238 can be computer storage media able tostore instructions, modules or components that can be executed by theprocessor 236. Further, when mentioned, non-transitory computer-readablemedia exclude media such as energy, carrier signals, electromagneticwaves, and signals per se.

The computer-readable media 238 can be used to store and maintain anynumber of functional components that are executable by the processor236. In some examples, these functional components comprise instructionsor programs that are executable by the processor 236 and that, whenexecuted, implement operational logic for performing the actions andservices attributed above to the customer-facing computing device 204.Functional components of the customer-facing computing device 204 storedin the computer-readable media 238 can include a customer application250.

The customer application 250 may configure the customer-facing computingdevice 204 as a POS terminal capable of performing customerfunctionality. For instance, the customer application 250 can configurethe customer-facing computing device 204 to obtain payment information220, and related information, and send the payment information 220, andrelated information, to the merchant application 218 on themerchant-facing computing device 202. In at least one example, thecustomer application 250 can configure the customer-facing computingdevice 204 to request and/or receive authentication information (e.g.,signature, PIN, biometric, etc.) to authenticate the payment information220. In at least one example, the customer application 250 can receivepayment information 220 from the payment component 248 and transmit thepayment information 220 to the merchant-facing computing device 202.

In at least one example, the payment component 248 can be housed in, orotherwise associated with, a secure enclave. The payment component 248can perform functionalities to control payment interfaces (e.g., acontactless interface, a contact interface, etc.), a wirelesscommunication interface, a wired interface, a user interface (e.g., asignal condition device (field-programmable gate array (FPGA))), etc. Inat least one example, the payment component 248 can include a reader252, which can read payment information 220 associated with a paymentinstrument. In some examples, the reader 252 can be a Europay,MASTERCARD®, VISA® (EMV) payment reader, a read head for reading amagnetic strip of a payment card, etc. The payment information 220 caninclude a name of the customer, an address of the customer, a type(e.g., credit, debit, etc.) of a payment instrument, a number associatedwith the payment instrument, a verification value (e.g., PIN,Verification Key Indicator (PVKI), PIN Verification Value (PVV), CardVerification Value (CVV), Card Verification Code (CVC), etc.) associatedwith the payment instrument, an expiration data associated with thepayment instrument, a primary account number (PAN) corresponding to thecustomer (which may or may not match the number associated with thepayment instrument), restrictions on what types of charges/debts can bemade, etc. In at least one example, the payment component 248 caninclude encryption technology for encrypting the payment informationupon receiving the payment information.

In some examples, the customer application 250 can configure thecustomer-facing computing device 204 to present calls to action via theuser interface. For instance, when a merchant indicates that transactionis complete, the customer application 250 can present, via the userinterface, an instruction to a customer to swipe, insert, or tap apayment instrument to pay for the transaction. Or, the customerapplication 250 can present, via the user interface, a request forauthentication information (e.g., PIN, biometric input, signature, etc.)from a customer, gratuity, feedback, loyalty information, etc.Additionally or alternatively, the customer application 250 canconfigure the customer-facing computing device 204 to presentinformation associated with processing of a transaction via the userinterface. For instance, the customer application 250 can configure thecustomer-facing computing device 204 to present a message that acustomer's payment instrument is approved, is being authorized, isdeclined, etc. In some examples, the customer application 250 canconfigure the customer-facing computing device 204 to present a messageassociated with a split tender or a refund.

In some examples, the customer application 250 can configure thecustomer-facing computing device 204 to detect errors and presentmessages associated with such errors. For instance, customer errors caninclude a payment instrument not being charged, an amount chargedviolating transaction limitations/restrictions, payment not being ableto be processed in a particular country, an improper payment method(e.g., swipe when the payment instrument is a EMV card), exceeding a PINtry limit, etc. Other errors can include merchant errors, terminalerrors (e.g., connectivity, power failure, tamper error, etc.), paymentinstrument errors (e.g., information missing, card not supported, etc.),etc.

In some examples, the customer application 250 can configurecustomer-facing computing device 204 to operate in the accessibilitymode in which the customer-facing computing device 204 receivesinformation using the self-centering user interface, which is describedherein. For instance, the customer application 250 can configure thecustomer-facing computing device 204 to operate in the accessibilitymode in order to receive a PIN associated with a payment instrument.

In addition, the computer-readable media 238 can also store data, datastructures and the like, that are used by the functional components. Forexample, data stored by the computer-readable media 238 can includedevice identifier information 254 which can indicate whichcustomer-facing computing device(s) and/or merchant-facing computingdevice(s) are coupled to the customer-facing computing device 204. Thedata stored by the computer-readable media 238 can further includesettings information 256 and profile information 258. The settingsinformation 256 can store settings information associated with thesettings of the customer-facing computing device 204. For instance, thesettings information 256 may store languages available on thecustomer-facing computing device 204, a language selection for thecustomer-facing computing device 204 (e.g., input language, keyboardlanguage, spoken language, etc.), symbolistics (e.g., high contrast)associated with the customer-facing computing device 204, volumecontrol, brightness control, network priorities (e.g., back-upnetworks), date, time, time zone, passwords, account information, etc.In some examples, the settings of the customer-facing computing device204 can be the same as the settings of the merchant-facing computingdevice 202. In other examples, the settings of the customer-facingcomputing device 204 can be different than the settings of themerchant-facing computing device 202. The profile information 258 canstore one or more profiles associated with the merchant and/orcustomer(s) of the merchant, as described above.

In addition, the computer-readable media can store user interface data260 representing self-centering user interface(s) for inputting thepayment information 220 associated with a transaction. Furthermore, thecomputer-readable media 238 can store additional functional componentssuch as an operating system 262 for controlling and managing variousfunctions of the customer-facing computing device 204 and for enablingbasic user interactions with the customer-facing computing device 204.Moreover, in at least one example, the computer-readable media 238 canstore other modules and data 264.

The display 214 and/or the display 244 can employ any suitable displaytechnology. For example, the display 214 and/or the display 244 can be aliquid crystal display, a plasma display, a light emitting diodedisplay, an OLED (organic light-emitting diode) display, an electronicpaper display, or any other suitable type of display able to presentdigital content thereon. In some examples, the display 214 and/or thedisplay 244 can have a touch sensor associated with the display 214and/or the display 244 to provide a touchscreen display configured toreceive touch inputs for enabling interaction with a user interfacepresented on the display 214 and/or the display 244. Accordingly,examples herein are not limited to any particular display technology.Further, in some examples, the merchant-facing computing device 202and/or the customer-facing computing device 204 may not have a display.

The communication interface(s) 210 and/or the communication interface(s)240 can include one or more interfaces and hardware components forenabling communication between the merchant-facing computing device 202and the customer-facing computing device 204 and/or various otherdevices, such as over one or more networks 266 or directly. In at leastone example, the network(s) 266 can include long-range communicationnetworks and/or short-range communication networks. For instance, thenetwork(s) 266 can include the Internet, cable networks, cellularnetworks, wireless networks (e.g., Wi-Fi) and wired networks, Bluetooth®networks, Bluetooth® low energy (BLE) networks, Near-field Communication(NFC) (e.g., NFC signals), etc. Accordingly, in at least one example,the communication interface(s) 210 and/or the communication interface(s)240 can enable communication through one or more of the Internet, cablenetworks, cellular networks, wireless networks (e.g., Wi-Fi) and wirednetworks, Bluetooth®, BLE, NFC, etc. Additionally or alternatively, thecommunication interface(s) 210 and/or the communication interface(s) 240can include one or more Universal Serial Bus (USB) interfaces, Ethernetinterfaces, etc.

The I/O device(s) 212 and/or the I/O device(s) 242 can include speakers,a microphone, a camera, a projector, a cash drawer, a printer, a barcodescanner, a scale, a kitchen display system (KDS), various user controls(e.g., buttons, a joystick, a keyboard, a keypad, etc.), a haptic outputdevice, and so forth. In at least one example, the I/O device(s) 212and/or the I/O device(s) 242 can be peripheral devices. In otherexamples, the I/O device(s) 212 and/or the I/O device(s) 242 canrespectively be integrated into the merchant-facing computing device 202and/or the customer-facing computing device 204.

In some instances, the merchant-facing computing device 202 may includepower source(s) and/or the customer-facing computing device 204 mayinclude power source(s). The power source(s) can include one or morepower supplies such as a physical connection to AC power or a battery.The power source(s) can include power conversion circuitry forconverting AC power and generating a plurality of DC voltages. When thepower source(s) include a battery, the battery can be charged via aphysical power connection, via inductive charging, or via any othersuitable method. Although not depicted as physically connected to theother components of the merchant-facing computing device 202 and/or thecustomer-facing computing device 204 in FIG. 2 , the power source(s) cansupply a variety of voltages to the components of the merchant-facingcomputing device 202 and/or the customer-facing computing device 204 inaccordance with the requirements of those components.

FIG. 3 illustrates an example where a merchant-facing computing device302, which can correspond to the merchant-facing computing device 202 asdescribed above with reference to FIG. 2 , is coupled to at least acustomer device 304. As described herein, in some examples,functionality can be temporarily provisioned to the customer device 304of a customer 306. For instance, in at least one example, a customerapplication can be provisioned to the customer device 304 and, as aresult, the customer device 304 can be configured to perform at leastsome customer functionalities.

In such examples, the customer device 304 of the customer 306 can act asa customer-facing computing device (e.g., the customer-facing computingdevice 204). That is, the customer device 304 can communicate with themerchant-facing computing device 302 to process independenttransactions, as described above in FIG. 2 , or can interact with themerchant-facing computing device 302 to process independent steps of asame transaction, as also described above in FIG. 2 . FIG. 3 illustratesthe customer device 304 interacting with the merchant-facing computingdevice 302 to process independent steps of a same transaction betweenthe customer 306 and a merchant 308, but is not limited to such anexample. For instance, in the example of FIG. 3 , the customer 306 canutilize the customer device 304 that has been temporarily provisionedwith the customer application to input information associated with thetransaction, such as by using the self-centering user interfacedescribed herein. For example, the customer 306 can utilize the customerdevice 304 to input the PIN associated with a payment instrument 310used by the customer 306 to satisfy a cost of the transaction.

FIG. 4 illustrates an example of using a self-centering user interface402 to input a personal identification number associated with a paymentinstrument. For instance, at time T1, a computing device (e.g., themerchant device(s), the merchant-facing computing device 202, 302, thecustomer-facing computing device 204, the customer device 304, etc.) mayreceive a first input at a first location of a display 404. Based on thefirst location, the computing device may determine a first positioningfor the user interface 402. For example, the computing device maydetermine that the user interface 402 is to be substantially centered atthe first location (e.g., the number five is located at the firstlocation). In some instances, the computing device may use the firstpositioning to display the user interface 402 on the display 404. Forinstance, the computing device may display, on the display 404, the userinterface 402 as being substantially centered at the first location.

At time T2, the computing device may receive a second input at a secondlocation of the display 404. For instance, and as illustrated in theexample of FIG. 4 , the second input includes the customer swiping thefinger from the first location of the display 404 to the second locationof the display 404, as indicated by the arrow. Based on the secondinput, the computing device may determine a first number to include inthe PIN. For a first example, the computing device may determine thatthe second location corresponds to the first number. To determine thatthe second location corresponds to the first number, the computingdevice may determine that the second location is located over a portionof the user interface 402 that includes the first number. For a secondexample, the computing device may determine that the second inputincludes a swipe in a downward direction on the display 404. Thecomputing device may then determine that the first number is located atthe downward direction from the center of the user interface 402. Basedon the determinations, the computing device may determine the firstnumber. As shown in the example of FIG. 4 , the first number includesthe number eight.

At time T3, the computing device may receive a third input at a thirdlocation of the display 404. Based on the third location, the computingdevice may determine a second positioning for the user interface 402.For example, the computing device may determine that the user interface402 is to be substantially centered at the third location (e.g., thenumber five is located at the third location). In some instances, thecomputing device may use the second positioning to display the userinterface 402 on the display 404. For instance, the computing device maydisplay, on the display 404, the user interface 402 as beingsubstantially centered at the third location.

At time T4, the computing device may receive a fourth input at a fourthlocation of the display 404. For instance, and as illustrated in theexample of FIG. 4 , the fourth input includes the customer swiping thefinger from the third location of the display 404 to the fourth locationof the display 404, as indicated by the arrow. Based on the fourthinput, the computing device may determine a second number to include inthe PIN. For a first example, the computing device may determine thatthe fourth location corresponds to the second number. To determine thatthe fourth location corresponds to the second number, the computingdevice may determine that the fourth location is located over a portionof the user interface 402 that includes the second number. For a secondexample, the computing device may determine that the fourth inputincludes a swipe in a left direction on the display 404. The computingdevice may then determine that the second number is located at the leftdirection from the center of the user interface 402. Based on thedeterminations, the computing device may determine the second number. Asshown in the example of FIG. 4 , the second number includes the numberfour.

At time T5, the computing device may receive a fifth input at a fifthlocation of the display 404. Based on the fifth location, the computingdevice may determine a third positioning for the user interface 402. Forexample, the computing device may determine that the user interface 402is to be substantially centered at the fifth location (e.g., the numberfive is located at the fifth location). In some instances, the computingdevice may use the third positioning to display the user interface 402on the display 404. For instance, the computing device may display, onthe display 404, the user interface 402 as being substantially centeredat the fifth location.

At time T6, the computing device may receive a sixth input associatedwith the display 404. For instance, and as illustrated in the example ofFIG. 4 , the sixth input includes the customer removing the finger fromthe display 404. Based on the sixth input, the computing device maydetermine a third number to include in the PIN. For example, thecomputing device may determine that the sixth input corresponds to thecenter of the user interface 402. The computing device may thendetermine that the third number is located at the center of the userinterface 402. Based on the determinations, the computing device maydetermine the third number. As shown in the example of FIG. 4 , thethird number includes the number five.

At time T7, the computing device may receive a seventh input at aseventh location of the display 404. As shown, the seventh inputcorresponds to the customer placing two fingers on the display 404 atthe seventh location. Based on the seventh location, the computingdevice may determine a fourth positioning for the user interface 402.For example, the computing device may determine that the user interface402 is to be substantially centered at the seventh location (e.g., thenumber five is located at the seventh location). In some instances, thecomputing device may use the fourth positioning to display the userinterface 402 on the display 404. For instance, the computing device maydisplay, on the display 404, the user interface 402 as beingsubstantially centered at the seventh location.

At time T8, the computing device may receive an eighth input associatedwith the display 404. For instance, and as illustrated in the example ofFIG. 4 , the eighth input includes the customer removing the fingersfrom the display 404. Based on the eighth input, the computing devicemay determine a fourth number to include in the PIN. For example, thecomputing device may determine that the eighth input corresponds to thecustomer removing the two fingers from the center of the user interface402. Based on the determination, the computing device may determine thefourth number. As shown in the example of FIG. 4 , the fourth numberincludes the number zero.

In some instances, the computing devices may then receive an inputindicating that the PIN is complete. The computing device may then sendinformation representing the PIN to one or more computing devices.

FIGS. 5A-5D illustrate examples of determining positions for aself-centering user 502 interface when inputs are received by acomputing device (e.g., the merchant device(s), the merchant-facingcomputing device 202, 302, the customer-facing computing device 204, thecustomer device 304, etc.). For instance, as illustrated in the exampleof FIG. 5A, the computing device may receive an input at a firstlocation 504 of a display 506. Based on the first location 504, thecomputing device may determine a first positioning for the userinterface 502. For example, the computing device may determine that theuser interface 502 is to be substantially centered at the first location504 (e.g., the number five is located at the first location 504). Insome instances, the computing device may use the first positioning todisplay the user interface 502 on the display 506. For instance, thecomputing device may display, on the display 506, the user interface 502as being substantially centered at the first location 504.

As illustrated in the example of FIG. 5B, the computing device mayreceive an input at a second location 508 of the display 506. As shown,the second location 508 is different than the first location 504. Basedon the second location 508, the computing device may determine a secondpositioning for the user interface 502. For example, the computingdevice may determine that the user interface 502 is to be substantiallycentered at the second location 508 (e.g., the number five is located atthe second location 508). In some instances, the computing device mayuse the second positioning to display the user interface 502 on thedisplay 506. For instance, the computing device may display, on thedisplay 506, the user interface 502 as being substantially centered atthe second location 508.

As illustrated in the example of FIG. 5C, the computing device mayreceive an input at a third location 510 of the display 506. As shown,the third location 510 is different than the first location 504 and thesecond location 508. Based on the third location 510, the computingdevice may determine a third positioning for the user interface 502. Forexample, the computing device may determine that the user interface 502is to be substantially centered at the third location 510 (e.g., thenumber five is located at the third location 510). In some instances,the computing device may use the third positioning to display the userinterface 502 on the display 506. For instance, the computing device maydisplay, on the display 506, the user interface 502 as beingsubstantially centered at the third location 510.

As further illustrated in the example of FIG. 5C, based on the thirdpositioning, a portion of the user interface 502 may be located off ofthe display 506. For instance, the number seven may not be located onthe display 506. In some instances, the computing device may outputaudio indicating that the portion of the user interface 502 is locatedoff of the display 506. For instance, the audio may represent aninstruction to place the finger closer to the center of the display 506.In some instances, even though the portion of the user interface 502 islocated off of the display 506, the customer may still be able to selecta symbol of the user interface 502. However, in such instances, thecustomer may be unable to select the symbol that is located off of thedisplay 506. For instance, in the example of FIG. 5C, the customer maybe unable to select the number four.

As illustrated in the example of FIG. 5D, the computing device mayreceive an input at a fourth location 512 of the display 506. As shown,the fourth location 512 is different than the first location 504, thesecond location 508, and the third location 510. Based on the fourthlocation 512, the computing device may determine a fourth positioningfor the user interface 502. For example, the computing device maydetermine that the user interface 502 is to be substantially centered atthe fourth location 512 (e.g., the number five is located at the fourthlocation 512). In some instances, the computing device may use thefourth positioning to display the user interface 502 on the display 506.For instance, the computing device may display, on the display 506, theuser interface 502 as being substantially centered at the fourthlocation 512.

As further illustrated in the example of FIG. 5D, based on the fourthpositioning, a portion of the user interface 502 may be located off ofthe display 506. For instance, the numbers seven through nine may not belocated on the display 506. In some instances, the computing device mayoutput audio indicating that the portion of the user interface 502 islocated off of the display 506. For instance, the audio may represent aninstruction to place the finger closer to the center of the display 506.In some instances, even though the portion of the user interface 502 islocated off of the display 506, the customer may still be able to selecta symbol of the user interface 502. However, in such instances, thecustomer may be unable to select the symbols that is located off of thedisplay 506. For instance, in the example of FIG. 5D, the customer maybe unable to select the numbers seven through nine.

In the examples of FIGS. 5A-5D, the user interface 502 is illustrated asincluding dashed lines. In some instances, when displaying the userinterface 502, the computing device may display one or more of thedashed lines. Additionally, or alternatively, in some instances, whendisplaying the user interface 502, the computing device may refrain fromdisplaying one or more of the dashed lines. Additionally, the examplesof FIGS. 5A-5D illustrate the user interface 502 as including a circularshape, where the numbers one through four and six through nine arepositioned around the number five in a circular pattern. However, inother examples, the user interface 502 may include a different shape,where the numbers one through four and six through nine are positionedaround the number five using a different pattern (e.g., a square, apentagon, a hexagon, an octagon, and/or any other shape).

Furthermore, while the example of FIGS. 5A-5D illustrate the userinterface 502 as including the number five in the center and the numbersone through four and six through nine positioning around the numberfive, in other examples, a self-centering user interface may include adifferent positioning for numbers. For example, a self-centering userinterface may include the number zero positioned in the center of theself-centering user interface with the numbers one through ninepositioned around the number zero.

FIGS. 6-8 are flow diagrams illustrating example processes according tosome examples. The processes of FIGS. 6-8 are illustrated as collectionsof blocks in logical flow diagrams, which represent a sequence ofoperations, some or all of which can be implemented in hardware,software or a combination thereof. In the context of software, theblocks can represent computer-executable instructions stored on one ormore computer-readable media that, when executed by one or moreprocessors, program the processors to perform the recited operations.Generally, computer-executable instructions include routines, programs,objects, components, data structures and the like that performparticular functions or implement particular data types. The order inwhich the blocks are described should not be construed as a limitation.Any number of the described blocks can be combined in any order and/orin parallel to implement the process, or alternative processes, and notall of the blocks need be executed. Further, in some examples, some orall of the operations illustrated in one or more of FIGS. 6-8 can becombined with some or all of the operations illustrated in others ofFIGS. 6-8 .

FIG. 6 illustrates an example process 600 of using a self-centeringkeypad to input a PIN associated with a payment instrument. At operation602, a computing device (e.g., the merchant device(s), themerchant-facing computing device 202, 302, the customer-facing computingdevice 204, the customer device 304, etc.) may receive paymentinformation associated with a payment instrument for satisfying a costof a transaction. In some instances, the computing device may include areader (e.g., a near-field-communication reader, a chip reader, etc.)that receives the payment information from the payment instrument and/orthe customer device. In some instances, based on receiving the paymentinformation, the computing device may display a keypad for inputting aPIN associated with the payment instrument.

At operation 604, the computing device may determine to operate in anaccessibility mode for receiving a personal identification number (PIN)associated with the payment information. In some instances, thecomputing device determines to operate in the accessibility mode basedon receiving an input from the merchant and/or the customer. In someinstances, the computing device determines to operate in theaccessibility mode based on the payment information associated with thepayment instrument. For instance, the payment information may include anindication to operate in the accessibility mode.

At operations 606, the computing device may receive a first input at afirst location of a display. In some instances, the first input maycorrespond to the customer placing one or more input implements (e.g.,one or more fingers) on the first location of the display. In someinstances, before receiving the first input, the computing device mayoutput, using at least one speaker, audio representing an instruction toplace the one or more input implements on the display.

At operation 608, the computing device may display a keypad on thedisplay, the keypad being substantially centered at the first locationof the display. For instance, the computing device may determine apositioning for the keypad such that the keypad is substantiallycentered at the first location of the display. The computing device maythen display the keypad using the positioning. In some instances, thekeypad includes a given shape, such as a circle, a square, a pentagon, ahexagon, an octagon, and/or the like.

At operations 610, the computing device may receive a second input at asecond location of the display. In some instances, the second input maycorrespond to a swipe on the display from the first location of thedisplay to the second location of the display. In some instances, thesecond input may correspond to the customer removing the one or moreinput implements from the second location, where the second locationincludes the first location. In some instances, before receiving thesecond input, the computing device may output, using the at least onespeaker, audio representing an instruction to provide the second input.For instance, the instruction may indicate that swiping the one or moreinput implements in given directions on the display will select numbersincluded in the user interface.

At operation 612, the computing device may determine a specific numberof the keypad based at least in part on the second input. For a firstexample, the computing device may determine that the second locationcorresponds to a portion of the keypad that include the specific numberincluded in the keypad. Based on the determination, the computing devicemay determine the specific number. For a second example, the computingdevice may determine a specific direction associated with the swipe fromthe first location of the display to the second location of the display.The computing device may then determine that the specific directioncorresponds to the specific number included in the keypad. Based on thedetermination, the computing device may determine the specific number.Still, for a third example, the computing device may determine that thesecond input includes removing the one or more input implements from thedisplay. Based on the determination, the computing device may determinethe specific number includes the number that was substantially centeredat the first location. In either example, the computing device may thenoutput, using the at least one speaker, audio indicating the specificnumber selected by the customer.

At operation 614, the computing device may determine whether to add anadditional number to the PIN. In some instances, the computing devicemay determine to add the additional number based on the customer onceagain providing an input using the display. The input may include thecustomer placing one or more input implements on the display. In someinstances, the computing device may determine to add the additionalnumber based on how many numbers the customer has entered into thecomputing device. For instance, the computing device may determine thatthe customer has yet to enter the total amount of numbers required forthe PIN.

In some instances, the computing device may determine not to add theadditional number based on the how many numbers the customer has enteredinto the computing device. For instance, the computing device maydetermine that the customer has entered by the total amount of numbersthat are required for the PIN. Still, in some instances, the computingdevice may determine not to add the additional number based on receivingan input indicating that the PIN is complete. For instance, the inputmay include the user placing two input implements on the display andthen swiping the two input implements in a given direction.

If at operation 614 the computing device determines to add theadditional number to the PIN, then the computing device may repeatoperations 606-612. However, if at 614 the computing device determinesnot to add the additional number to the PIN, then at operation 616, thecomputing device may generate the PIN that includes at least thespecific number. For instance, the PIN may include each of the numbersinput into the computing device. In some instances, the computing devicemay then encrypt data representing the PIN.

At operation 618, the computing device may send the payment informationand the PIN to one or more computing devices. In some instances, the oneor more computing devices may include a merchant device (e.g., themerchant-facing computing device 202, 302, the customer-facing computingdevice 204, etc.) and/or the payment-processing service server(s). Insome instances, the computing device may then receive, from the one ormore computing devices, data indicating whether the payment instrumentwas authorized for the cost of the transaction.

FIG. 7 illustrates an example process 700 of using a self-centering userinterface to input information. At operations 702, a computing device(e.g., the merchant device(s), the merchant-facing computing device 202,302, the customer-facing computing device 204, the customer device 304,etc.) may receive a first input at a first location of a display. Insome instances, the first input may correspond to the customer placingone or more input implements at the first location of the display. Insome instances, before receiving the first input, the computing devicemay output, using at least one speaker, audio representing aninstruction to place the one or more input implements on the display.

At operation 704, the computing device may determine a positioning for auser interface based at least in part on the first location. Forinstance, the computing device may determine the positioning for theuser interface such that the user interface is substantially centered atthe first location of the display. In some instances, to determine thepositioning, the computing device may determine an anchor point for theuser interface. The anchor point, which may correspond to a point (e.g.,the center) of the user interface, may include the first location of thedisplay. In some instances, the computing device may then display theuser interface using the positioning. In some instances, the userinterface includes a self-centering keypad for inputting a PIN. In someinstances, the user interface includes a given shape, such as a circle,a square, a pentagon, a hexagon, an octagon, and/or the like.

At operations 706, the computing device may receive a second input at asecond location of the display. In some instances, the second input maycorrespond to a swipe on the display from the first location of thedisplay to the second location of the display. In some instances, thesecond input may include removing the one or more input implements fromthe second location, where the second location includes the firstlocation. In some instances, before receiving the second input, thecomputing device may output, using the at least one speaker, audiorepresenting an instruction to provide the second input. For instance,the instruction may indicate that swiping the one or more inputimplements in given directions on the display will select symbolsincluded in the user interface.

At operation 708, the computing device may determine a symbol associatedwith the user interface based at least in part on the positioning andthe second input. For a first example, and using the positioning (and/orthe anchor point), the computing device may determine that the secondlocation corresponds to a portion of the user interface that include thesymbol. Based on the determination, the computing device may determinethe symbol. For a second example, the computing device may determine aspecific direction of the swipe from the first location of the displayto the second location of the display. The computing device may thendetermine, using the positioning (and/or the anchor point) that thespecific direction corresponds to the symbol. Still, for a thirdexample, the computing device may determine that the second inputincludes removing the one or more input implements from the display. Thecomputing device may then determine the symbol as a symbol that iscentrally located within the user interface. In some instances, thecomputing device may then output, using the at least one speaker, audioindicating the symbol selected by the customer.

At operation 710, the computing device may determine whether anadditional symbol is being selected. In some instances, the computingdevice may determine that the additional symbol is being selected basedon the customer once again providing an input using the display. Theinput may include the customer placing one or more input implements onthe display. In some instances, the computing device may determine thatthe additional symbol is being selected based on how many symbols thecustomer has entered into the computing device. For instance, thecomputing device may determine that the customer has yet to enter thetotal amount of symbols required for the type of information (e.g., aPIN) being input into the computing device.

In some instances, the computing device may determine that theadditional symbol is not being selected based on the how many symbolsthe customer has entered into the computing device. For instance, thecomputing device may determine that the customer has entered by thetotal amount of symbols required for the type of information. Still, insome instances, the computing device may determine that the additionalsymbol is not being selected based on receiving an input indicating thatthe information is complete. For instance, the input may include theuser placing two input implements on the display and then swiping thetwo input implements in a given direction.

If at operation 710 the computing device determines that the additionalsymbol is being selected, then the computing device may repeatoperations 702-708. However, if at 710 the computing device determinesthat the additional symbol is not being selected, then at operation 712,the computing device may generate information that includes at least thesymbol. For instance, the information may include each of the symbolsinput into the computing device.

At operation 714, the computing device may send the information to oneor more computing devices. In some instances, the one or more computingdevices may include a merchant device (e.g., the merchant-facingcomputing device 202, 302, the customer-facing computing device 204,etc.) and/or the payment-processing service server(s). In someinstances, the computing device may then receive, from the one or morecomputing devices, data indicating whether a payment instrument wasauthorized for the cost of the transaction.

FIG. 8 illustrates an example process 800 of determining a number ofinput implements corresponding to an input, and then using thedetermination to determine that an additional input includes a symbol oran action. At operations 802, a computing device (e.g., the merchantdevice(s), the merchant-facing computing device 202, 302, thecustomer-facing computing device 204, the customer device 304, etc.) mayreceive a first input at a first location of a display. In someinstances, the first input may correspond to the customer placing asingle input implement, such as a finger, at the first location of thedisplay. In some instances, the first input may correspond to thecustomer placing multiple input implements, such as multiple fingers, atthe first location of the display.

At operation 804, the computing device may determine whether the firstinput corresponds to a single-press input or a multiple-press input. Forinstance, the computing device may determine whether the first inputcorresponds to the single-press input, such as a single finger beingplaced at the first location of the display, or the multiple-pressinput, such as multiple fingers being placed at the first location ofthe display.

If at operation 804 the computing device determines that the first inputcorresponds to the single-press input, then at operation 806, thecomputing device may determine, based at least in part on the firstinput, a positioning for a user interface. For instance, the computingdevice may determine the positioning for the user interface such thatthe user interface is substantially centered at the first location ofthe display. In some instances, the computing device may then displaythe user interface using the positioning. In some instances, the userinterface includes a self-centering keypad for inputting a PIN. In someinstances, the user interface includes a given shape, such as a circle,a square, a pentagon, a hexagon, an octagon, and/or the like.

At operations 808, the computing device may receive a second input at asecond location of the display. In some instances, the second input maycorrespond to a swipe of the single input implement on the display fromthe first location of the display to the second location of the display.In some instances, the second input may include removing the singleinput implement from the second location, where the second locationincludes the first location.

At operation 810, the computing device may determine, based at least inpart on the second input, a first symbol associated with the userinterface. For a first example, the computing device may determine thatthe second location corresponds to a portion of the user interface thatinclude the first symbol. Based on the determination, the computingdevice may determine the first symbol. For a second example, thecomputing device may determine a specific direction of the swipe fromthe first location of the display to the second location of the display.The computing device may then determine that the specific directioncorresponds to the first symbol. Still, for a third example, thecomputing device may determine that the second input includes removingthe single input implement from the display. The computing device maythen determine the first symbol based on the second input including thesingle input implement being removed from the display.

If at operation 804 the computing device determines that the first inputcorresponds to the multiple-press input, then at operation 812, thecomputing device may receive a third input at a third location of thedisplay. In some instances, the third input may correspond to a swipe ofthe multiple input implements on the display from the first location ofthe display to the third location of the display. In some instances, thethird input may include removing the multiple input implements from thethird location, where the third location includes the first location.

At operation 814, the computing device may determine, based at least inpart on the third input, a second symbol or an action. For a firstexample, the computing device may determine that the third inputincludes a swipe of the multiple input implements in a first directionon the display. Based on the first direction, the computing device maydetermine a first action (e.g., cancel information). For a secondexample, the computing device may determine that the third inputincludes a swipe of the multiple input implements in a second directionon the display. Based on the second direction, the computing device maydetermine a second action (e.g., the information is complete). Still,for a third example, the computing device may determine that the thirdinput includes removing the multiple input implements from the display.The computing device may then determine the symbol based on the thirdinput including the multiple input implements being removed from thedisplay.

FIG. 9 illustrates example components of a customer device 902 that maybe configured to act as a POS device, as described herein. The customerdevice 902, which may correspond to the customer device 304 of FIG. 3 ,may be any suitable type of computing device, e.g., mobile, semi-mobile,semi-stationary, or stationary. Some examples of the customer device 902may include tablet computing devices; smart phones and mobilecommunication devices; laptops, netbooks and other portable computers orsemi-portable computers; desktop computing devices, terminal computingdevices and other semi-stationary or stationary computing devices;dedicated register devices; wearable computing devices, or otherbody-mounted computing devices; or other computing devices capable ofsending communications and performing the functions according to thetechniques described herein.

In the illustrated example, the customer device 902 includesprocessor(s) 904, computer-readable media 906, a display 908,input/output (I/O) device(s) 910, communication interface(s) 912, atleast one card reader 914, at least one location component 916, and atleast one power source 918. Each processor 904 may itself comprise oneor more processors or processing cores. For example, the processor(s)904 can be implemented as one or more microprocessors, microcomputers,microcontrollers, digital signal processors, central processing units,state machines, logic circuitries, and/or any devices that manipulatesignals based on operational instructions. In some cases, theprocessor(s) 904 may be one or more hardware processors and/or logiccircuits of any suitable type specifically programmed or configured toexecute the algorithms and processes described herein. The processor(s)904 can be configured to fetch and execute computer-readableprocessor-executable instructions stored in the computer-readable media906.

Depending on the configuration of the customer device 902, thecomputer-readable media 906 may be an example of tangible non-transitorycomputer storage media and may include volatile and nonvolatile memoryand/or removable and non-removable media implemented in any type oftechnology for storage of information such as computer-readableprocessor-executable instructions, data structures, program modules orother data. The computer-readable media 906 may include, but is notlimited to, RAM, ROM, EEPROM, flash memory, solid-state storage,magnetic disk storage, optical storage, and/or other computer-readablemedia technology. Further, in some cases, the customer device 902 mayaccess external storage, such as RAID storage systems, storage arrays,network attached storage, storage area networks, cloud storage, or anyother medium that can be used to store information and that can beaccessed by the processor(s) 904 directly or through another computingdevice or network. Accordingly, the computer-readable media 906 may becomputer storage media able to store instructions, modules or componentsthat may be executed by the processor(s) 904. Further, when mentioned,non-transitory computer-readable media exclude media such as energy,carrier signals, electromagnetic waves, and signals per se.

The computer-readable media 906 may be used to store and maintain anynumber of functional components that are executable by the processor(s)904. In some examples, these functional components comprise instructionsor programs that are executable by the processor(s) 904 and that, whenexecuted, implement operational logic for performing the actions andservices attributed above to the customer device 902. Functionalcomponents of the customer device 902 stored in the computer-readablemedia 906 may include a POS application 920. The POS application 920 maypresent an interface on the customer device 902 to enable the customerand/or the merchant to conduct transactions, receive payments, and soforth, as well as communicating with the payment-processing service forprocessing payments and sending transaction information. In addition,the computer-readable media 906 may include a P2P payment application922. Additional functional components may include an operating system926 for controlling and managing various functions of the customerdevice 902 and for enabling basic user interactions with the customerdevice 902. The computer-readable media 906 may also store transactioninformation 924 that is received based on the customer and/or merchantengaging in various transactions, such as the transactions discussedabove. For instance, the transaction information 924 may include atleast payment information associated with a payment instrument, a PIN,and for forth.

The computer-readable media 906 may also store user interface data 928.The user interface data 928 may represent at least the self-centeringuser interface(s), described herein, which the customer may use to inputinformation associated with a transaction.

In addition, the computer-readable media 906 may also store data, datastructures and the like, that are used by the functional components. Forexample, this data may include item information that includesinformation about the items offered by the merchant, which may includeimages of the items, descriptions of the items, prices of the items, andso forth. Depending on the type of the customer device 902, thecomputer-readable media 906 may also optionally include other functionalcomponents and data, which may include programs, drivers, etc., and thedata used or generated by the functional components. Further, thecustomer device 902 may include many other logical, programmatic andphysical components, of which those described are merely examples thatare related to the discussion herein.

The communication interface(s) 912 may include one or more interfacesand hardware components for enabling communication with various otherdevices over the network or directly. For example, communicationinterface(s) 912 may enable communication through one or more of theInternet, cable networks, cellular networks, wireless networks (e.g.,Wi-Fi) and wired networks, as well as close-range communications such asBluetooth®, Bluetooth® low energy, and the like, as additionallyenumerated elsewhere herein.

FIG. 9 further illustrates that the customer device 902 may include thedisplay 908. Depending on the type of computing device used as thecustomer device 902, the display 908 may employ any suitable displaytechnology. For example, the display 908 may be a liquid crystaldisplay, a plasma display, a light emitting diode display, an OLED(organic light-emitting diode) display, an electronic paper display, orany other suitable type of display able to present digital contentthereon. In some examples, the display 908 may have a touch sensorassociated with the display 908 to provide a touchscreen displayconfigured to receive touch inputs for enabling interaction with agraphic interface presented on the display 908. Accordingly, examplesherein are not limited to any particular display technology.Alternatively, in some examples, the customer device 902 may not includethe display 908, and information may be presented by other means, suchas aurally.

The I/O device(s) 910, meanwhile, may include speakers, a microphone, acamera, various user controls (e.g., buttons, a joystick, a keyboard, akeypad, etc.), and/or a haptic output device, and so forth.

In addition, the customer device 902 may include or may be connectableto at least the reader 914, which may be same or similar as the reader252 discussed above. In some examples, the reader 914 may comprise anNFC reader integral with or communicatively coupled to the customerdevice 902 may plug in to a port in the merchant device, such as amicrophone/headphone port, a data port, or other suitable port. In otherinstances, the reader 914 is integral with the entire customer device902. The reader may include a read head for reading a magnetic strip ofa payment instrument, and further may include encryption technology forencrypting the information read from the magnetic strip. Alternatively,numerous other types of card readers may be employed with the devicesherein, depending on the type and configuration of a particular customerdevice 902.

The location component 916 may include a GPS device able to indicatelocation information, or the location component 916 may comprise anyother location-based sensor. The customer device 900 may also includeone or more additional sensors (not shown), such as an accelerometer,gyroscope, compass, proximity sensor, and the like. Additionally, thecustomer device 900 may include various other components that are notshown, examples of which include removable storage, a power controlunit, and so forth.

FIG. 10 illustrates depicts an illustrative block diagram of selectcomponents of the payment-processing service server(s) 1002. In someexamples, the payment-processing service server(s) 1002, which maycorrespond to the payment-processing service server(s) 222, can includeone or more server computing devices or other types of computing devicesthat can be embodied in any number of ways. For instance, in the case ofa server, the modules, other functional components, and data can beimplemented on a single server, a cluster of servers, a server farm ordata center, a cloud hosted computing service, a cloud hosted storageservice, and so forth, although other computer architectures canadditionally or alternatively be used.

Further, while FIG. 10 illustrates the components and data of thepayment-processing service server(s) 1002 as being present in a singlelocation, these components and data can alternatively be distributedacross different computing devices and different locations in anymanner. Consequently, the functions can be implemented bypayment-processing service server(s) 1002, with the variousfunctionality described above distributed in various ways across thedifferent computing devices. Multiple payment-processing serviceserver(s) 1002 can be located together or separately, and organized, forexample, as virtual servers, server banks and/or server farms. Thedescribed functionality can be provided by the servers of a singleentity or enterprise, or can be provided by the servers and/or servicesof multiple different buyers/customer or enterprises.

In the illustrated example, the payment-processing service server(s)1002 can include processor(s) 1004, computer-readable media 1006, andcommunication interface(s) 1008. Each processor 1004 can be a singleprocessing unit or a number of processing units, and can include singleor multiple computing units or multiple processing cores. Theprocessor(s) 1004 can be implemented as one or more microprocessors,microcomputers, microcontrollers, digital signal processors, centralprocessing units, state machines, logic circuitries, and/or any devicesthat manipulate signals based on operational instructions. For instance,the processor(s) 1004 can be one or more hardware processors and/orlogic circuits of any suitable type specifically programmed orconfigured to execute the algorithms and processes described herein. Theprocessor(s) 1004 can be configured to fetch and executecomputer-readable instructions stored in the computer-readable media1006, which can program the processor(s) 1004 to perform the functionsdescribed herein.

The computer-readable media 1006 can include volatile and nonvolatilememory and/or removable and non removable media implemented in any typeof technology for storage of information, such as computer-readableinstructions, data structures, program modules, or other data. Suchcomputer-readable media 1006 can include, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, optical storage,solid state storage, magnetic tape, magnetic disk storage, RAID storagesystems, storage arrays, network attached storage, storage areanetworks, cloud storage, or any other medium that can be used to storethe desired information and that can be accessed by a computing device.Depending on the configuration of the payment-processing serviceserver(s) 1002, the computer-readable media 1006 can be a type ofcomputer-readable storage media and/or can be a tangible non-transitorymedia to the extent that when mentioned, non-transitorycomputer-readable media exclude media such as energy, carrier signals,electromagnetic waves, and signals per se.

The computer-readable media 1006 can be used to store any number offunctional components that are executable by the processor(s) 1004. Inmany examples, these functional components comprise instructions orprograms that are executable by the processor(s) 1004 and that, whenexecuted, specifically configure the one or more processor(s) 1004 toperform the actions attributed above to payment-processing serviceserver(s) 1002. Functional components stored in the computer-readablemedia 1006 can include an information module 1010, a payment processingmodule 1012, a device identifier module 1014, and/or a provisioningmodule 1016. Additional functional components stored in thecomputer-readable media 1006 can include an operating system 1018 forcontrolling and managing various functions of the payment-processingservice server(s) 1002. Furthermore, in at least one example, thecomputer-readable media 1006 can store other modules and data 1020.

In at least one example, the information module 1010 can enable thepayment-processing service server(s) 1002 to, among other things,access, receive, send, track, parse, and/or store (or otherwise managethe storage of) information, such as transaction data, payment data,merchant profiles, customer profiles, inventory, etc.

In some examples, the payment processing module 1012 can enable thepayment-processing service server(s) 1002 to, among other things,process payments for one or more merchants. For instance, the paymentprocessing module 1012 can provide the functionality for processingpayments for multiple different merchants. In at least one example, thepayment processing module 1012 can receive transaction information/dataand/or payment information/data and can communicate with one or morecard networks, or other payment services, to authorize transactionsbased on the transaction data and/or the payment data.

In at least one example, the device identifier module 1014 can beconfigured to receive requests to register a new device with thepayment-processing service. In some examples, the device identifiermodule 1014 can assist with setting up a new account associated with thenew device. In other examples, the device identifier module 1014 canreceive a request associated with an account identifier of a previouslyregistered merchant and can access information associated with thecorresponding account (e.g., via a profile corresponding to the accountidentifier). The device identifier module 1014 can send such information(or representations thereof) to the new device to assist withonboarding.

The provisioning module 1016 can assist with temporarily provisioningfunctionality on devices (e.g., personal devices of users,merchant-facing computing devices, customer-facing computing devices,etc.). In some examples, a user can actuate a hyperlink that causes arequest to be sent to the payment-processing service server(s) 1002. Insuch examples, the provisioning module 1016 can provision thefunctionality responsive to receiving the request. In at least oneexample, the provisioning module 1016 can access information stored inthe information module 1010 to personalize at least one of howfunctionality is provisioned to a device and/or what functionality isprovisioned to the device.

In addition, the computer-readable media 1006 can store data used forperforming the operations described herein. The payment-processingservice server(s) 1002 can also include or maintain other functionalcomponents and data, such as other modules and data 1020, which caninclude programs, drivers, etc., and the data used or generated by thefunctional components. Further, the payment-processing service server(s)1002 can include many other logical, programmatic and physicalcomponents, of which those described above are merely examples that arerelated to the discussion herein.

The communication interface(s) 1008 can include one or more interfacesand hardware components for enabling communication with various otherdevices, such as over network(s). For example, the communicationinterface(s) 1008 can enable communication through one or more of theInternet, cable networks, cellular networks, wireless networks (e.g.,Wi-Fi) and wired networks, Bluetooth®, BLE, NFC, and the like, asadditionally enumerated elsewhere herein.

The payment-processing service server(s) 1002 can further be equippedwith various input/output (I/O) device(s) 1022. Such I/O device(s) 1022can include a display, various user interface controls (e.g., buttons,joystick, keyboard, mouse, touch screen, etc.), audio speakers,connection ports and so forth.

Various instructions, methods and techniques described herein can beconsidered in the general context of computer-executable instructions,such as program modules stored on computer-readable media, and executedby the processor(s) herein. Generally, program modules include routines,programs, objects, components, data structures, etc., for performingparticular tasks or implementing particular abstract data types. Theseprogram modules, and the like, can be executed as native code or can bedownloaded and executed, such as in a virtual machine or otherjust-in-time compilation execution environment. Typically, thefunctionality of the program modules can be combined or distributed asdesired in various examples. An example of these modules and techniquescan be stored on computer storage media or transmitted across some formof communication media.

Furthermore, the foregoing is merely illustrative of the principles ofthis disclosure and various modifications can be made by those skilledin the art without departing from the scope of this disclosure. Theabove described examples are presented for purposes of illustration andnot of limitation. The present disclosure also can take many forms otherthan those explicitly described herein. Accordingly, it is emphasizedthat this disclosure is not limited to the explicitly disclosed methods,systems, and apparatuses, but is intended to include variations to andmodifications thereof, which are within the spirit of the followingclaims.

As a further example, variations of apparatus or process parameters(e.g., dimensions, configurations, components, process step order, etc.)can be made to further optimize the provided structures, devices andmethods, as shown and described herein. In any event, the structures anddevices, as well as the associated methods, described herein have manyapplications. Therefore, the disclosed subject matter should not belimited to any single example described herein, but rather should beconstrued in breadth and scope in accordance with the appended claims.

What is claimed is:
 1. A point-of-sale (POS) device of a merchant,comprising: a touchscreen display; one or more processors; and one ormore computer-readable media storing instructions that, when executed bythe one or more processors, cause the one or more processors to performoperations comprising: receiving, from a payment instrument of a user,payment information associated with the payment instrument forsatisfying a cost of a transaction between the merchant and the user;receiving, at the touchscreen display, a first input at a first locationof the touchscreen display, wherein the first input comprises a touch,performed by the user, using an input element and a pre-defined gesture;determining, by the POS device and based at least in part on the firstlocation of the first input, an anchor point for positioning a userinterface on the touchscreen display, wherein the user interfacecomprises a keypad for inputting symbols for authorizing thetransaction; in response to determining the first location of the firstinput, displaying the keypad on the touchscreen display based at leastin part on the receiving of the first input, the keypad beingsubstantially centered at the first location of the touchscreen displaywith symbols of the keypad being visually presented to the user of thetouchscreen display and surrounding at least a portion of the firstlocation; receiving, at the touchscreen display, a second input on thekeypad, wherein a gesture of the second input connects a second locationof the touchscreen display to the first location of the touchscreendisplay, the second location of the touchscreen display corresponding toa particular symbol of the keypad; determining, based at least in parton the second input, that the particular symbol corresponds to aparticular number; receiving, at the touchscreen display, a third inputat a third location; determining, based at least in part on the thirdlocation, a second anchor point for a second positioning of the userinterface; receiving a fourth input corresponding to a gestureconnecting a fourth location of the touchscreen display to a fifthlocation of the touchscreen display, the fourth location correspondingto a second particular number of the keypad; selecting the secondparticular number as at least a portion of the payment information basedat least in part on the fourth input corresponding to the gestureconnecting the fourth location to the fifth location; receiving a fifthinput indicating a consecutive touch of two input implements; receivinga sixth input corresponding to a predefined gesture of the two inputimplements; determining to conclude receiving the payment informationbased at least in part on the sixth input; and sending, to a paymentsystem, the payment information for satisfying the cost of thetransaction.
 2. The POS device as recited in claim 1, further comprisingat least one speaker, and wherein the operations further comprise:causing the at least one speaker to output first audio, the first audiorepresenting a first instruction associated with placing an inputimplement on the touchscreen display; and based at least in part on thecausing the display of the keypad, causing the at least one speaker tooutput second audio, the second audio representing a second instructionassociated with swiping the input implement over the keypad in order toindicate the particular symbol.
 3. A method comprising: receiving, froma payment instrument of a user, information associated with the paymentinstrument for satisfying a cost of a transaction between a merchant andthe user; receiving, by an electronic device, a first input at a firstlocation of a display, wherein the first input comprises a touch,performed by the user, using an input element and a pre-defined gesture;determining, by the electronic device and based at least in part on thefirst location of the first input, an anchor point for a positioning fora user interface on the display, wherein the user interface comprises akeypad for inputting symbols for authorizing the transaction; inresponse to determining the first location of the first input,displaying the keypad on the display based at least in part on thereceiving of the first input, the keypad being substantially centered atthe first location of the display with symbols of the keypad beingvisually presented to the user of the display and surrounding at least aportion of the first location; receiving, by the electronic device, asecond input on the keypad, wherein a gesture of the second inputconnects a second location of the display to the first location of thedisplay, the second location of the display corresponding to a symbol ofthe keypad; determining, by the electronic device, the symbol of thesymbols based at least in part on the second input, that the symbolcorresponds to a particular number; receiving, at the display, a thirdinput at a third location; determining, based at least in part on thethird location, a second anchor point for a second positioning of theuser interface; receiving a fourth input corresponding to a gestureconnecting a fourth location of the display to a fifth location of thedisplay, the fourth location corresponding to a second symbol of thekeypad; selecting the second symbol as at least a portion of theinformation based at least in part on the fourth input corresponding tothe gesture connecting the fourth location to the fifth location;receiving a fifth input indicating a consecutive touch of two inputimplements; receiving a sixth input corresponding to a predefinedgesture of the two input implements; determining to conclude receivingthe information based at least in part on the sixth input; and sending,by the electronic device, the information to one or more computingdevices for satisfying the cost of the transaction.
 4. The method asrecited in claim 3, wherein the determining the positioning for the userinterface comprises determining, by the electronic device, thepositioning for the user interface such that the user interface issubstantially centered at the first location of the display.
 5. Themethod as recited in claim 3, wherein the positioning is a firstpositioning and the symbol is a first symbol, and wherein the methodfurther comprises: receiving a seventh input at a sixth location of thedisplay; determining a third positioning for the user interface based atleast in part on the sixth location, the third positioning beingdifferent than the second positioning; receiving an eighth input at aseventh location of the display; and determining a third symbolassociated with the user interface based at least in part on the thirdpositioning and the eighth input, wherein the information furtherincludes the third symbol.
 6. The method as recited in claim 3, whereinthe determining of the symbol associated with the user interfacecomprises: determining, based at least in part on the positioning, aportion of the user interface that corresponds to the second location;and determining that the portion of the user interface is associatedwith the symbol.
 7. The method as recited in claim 3, wherein the symbolis a first symbol, and wherein the method further comprises: determininga third symbol associated with the user interface; determining that thesixth input is associated with the third symbol; and based at least inpart on the sixth input, removing the third symbol from the information.8. The method as recited in claim 3, wherein: the keypad is configuredto receive input for a personal identification number (PIN) associatedwith the payment instrument; the symbols comprise numbers included inthe keypad; and the information associated with the transaction is thePIN.
 9. The method as recited in claim 3, further comprising: outputtingfirst audio representing a first instruction to place an input implementon the display; and based at least in part on the determining thepositioning, outputting second audio representing a second instructionassociated with swiping the input implement over the display in order toindicate the symbol.
 10. The method as recited in claim 3, wherein thesecond symbol corresponds to a second number of the keypad.
 11. Themethod as recited in claim 3, wherein the information further includesthe symbol.
 12. An electronic device comprising: a display; one or moreprocessors; and one or more computer-readable media storing instructionsthat, when executed by the one or more processors, cause the one or moreprocessors to perform operations comprising: receiving, from a paymentinstrument of a user, information associated with the payment instrumentfor satisfying a cost of a transaction between a merchant and the user;receiving a first input at a first location of the display, wherein thefirst input comprises a touch, performed by the user, using an inputelement and a pre-defined gesture; determining, based at least in parton the first location of the first input, an anchor point forpositioning a user interface on the display, wherein the user interfacecomprises a keypad associated with inputting symbols for authorizing thetransaction; in response to determining the first location of the firstinput, displaying the keypad on the display based at least in part onthe receiving of the first input, the keypad being substantiallycentered at the first location of the display with symbols of the keypadbeing visually presented to the user of the display and surrounding atleast a portion of the first location; receiving a second input on thekeypad, wherein a gesture of the second input connects a second locationof the display to the first location of the display, the second locationof the display corresponding to a symbol of the keypad; determining thesymbol of the symbols to select based at least in part on the secondinput, wherein the symbol corresponds to a particular number; receiving,at the display, a third input at a third location; determining, based atleast in part on the third location, a second anchor point for a secondpositioning of the user interface; receiving a fourth inputcorresponding to a gesture connecting a fourth location of the displayto a fifth location of the display, the fifth location corresponding toa second symbol of the keypad; selecting the second symbol as at least aportion of the information based at least in part on the fourth inputcorresponding to the gesture connecting the fourth location to the fifthlocation; receiving a fifth input indicating a consecutive touch of twoinput implements; receiving a sixth input corresponding to a predefinedgesture of the two input implements; determining to conclude receivingthe information based at least in part on the sixth input; and sendingthe information to one or more computing devices for satisfying the costof the transaction.
 13. The electronic device as recited in claim 12,wherein the determining of the anchor point for the user interfacecomprises determining, by the electronic device, the anchor point forthe user interface such that the user interface is substantiallycentered at the first location of the display.
 14. The electronic deviceas recited in claim 12, wherein the anchor point is a first anchor pointand the symbol is a first symbol, and wherein the operations furthercomprise: receiving a seventh input at a sixth location of the display,the sixth location being different than the second location;determining, based at least in part on the sixth location, a thirdanchor point for the user interface; receiving a eighth input at aseventh location of the display; and determining a third symbolassociated with the user interface based at least in part on the thirdanchor point and the eighth input, wherein the information furtherincludes the third second symbol.
 15. The electronic device as recitedin claim 12, wherein the determining the symbol associated with the userinterface comprises: determining, based at least in part on the anchorpoint, a portion of the user interface that corresponds to the secondlocation; and determining that the portion of the user interface isassociated with the symbol.
 16. The electronic device as recited inclaim 12, wherein: the keypad is configured to receive input for apersonal identification number (PIN) associated with the paymentinstrument; the symbols comprise numbers included in the keypad; and theinformation includes the PIN associated with the payment instrument. 17.The electronic device as recited in claim 12, the operations furthercomprising: outputting first audio representing a first instruction toplace an input implement on the display; and based at least in part onthe determining the positioning, outputting second audio representing asecond instruction associated with swiping the input implement over thedisplay in order to indicate the symbol.
 18. The electronic device asrecited in claim 12, wherein the information further includes thesymbol.
 19. The electronic device as recited in claim 12, wherein thesecond symbol corresponds to a second number of the keypad.
 20. Theelectronic device as recited in claim 12, wherein determining the symbolis further based at least in part on the anchor point.